package org.jeecgframework.web.service;
import java.io.Serializable;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.jeecgframework.core.common.model.json.AjaxJson;
import org.jeecgframework.core.common.service.CommonService;
import org.jeecgframework.web.system.pojo.base.ZyFactoryRecordEntity;

public interface ZyFactoryRecordServiceI extends CommonService{
	
 	public <T> void delete(T entity);
 	
 	public <T> Serializable save(T entity);
 	
 	public <T> void saveOrUpdate(T entity);
 	
 	/**
	 * 默认按钮-sql增强-新增操作
	 * @param id
	 * @return
	 */
 	public boolean doAddSql(ZyFactoryRecordEntity t);
 	/**
	 * 默认按钮-sql增强-更新操作
	 * @param id
	 * @return
	 */
 	public boolean doUpdateSql(ZyFactoryRecordEntity t);
 	/**
	 * 默认按钮-sql增强-删除操作
	 * @param id
	 * @return
	 */
 	public boolean doDelSql(ZyFactoryRecordEntity t);
 	
 	
 	/** @author xiul
 	 * 2016-6-17 下午2:34:25
 	 * Description 解析excel 取出 需要保存到设备表 所需的字段 
 	 * @return 保存到设备表 所需的字段 
 	 */
 	public List<Map<String, Object>> parseExcel(HttpServletRequest req,AjaxJson j);
 	

	/**@author xiul
	 * 2016-6-17 上午10:56:39
	 * Description 比对导入的出厂记录和数据库以后的SN 是否重复 并返回重复的SN
	 * @param factroyMapList 保存到设备表所需要的字段
	 * @param snMapList 数据库现有数据
	 * @param begin 开始位置
	 * @param end 结束位置
	 * @return 重复的SN
	 */
	public String checkSnRepeat(List<Map<String, Object>> snList, List<Map<String, Object>> snMapList, int begin, int end);

	/**@author xiul
	 * 2016-6-17 上午11:12:39
	 * Description 对比完SN之后 保存数据 
	 * @param filePath 上传的excel保存路径
	 */
	public void readExcel(String filePath);
}
